7.12. El archivo rc.site

El archivo opcional /etc/sysconfig/rc.site contiene los ajustes que se configuran de forma automática para cada script de arranque. Se puede configurar alternativamente los valores especificados en hostname, console, yclock en el directorio /etc/sysconfig/ Si las variables asociadas están presentes en estos dos archivos separados y rc.site, los valores en los archivos específicos de secuencia de comandos tienen prioridad.

rc.site también contiene parámetros que pueden personalizar otros aspectos del proceso de arranque. Al establecer la variable IPROMPT se permitirá correr selectivamente los scripts de inicio. Otras opciones se describen en los comentarios del archivo. La versión por defecto del archivo es el siguiente:

# rc.site
# Optional parameters for boot scripts.

# Distro Information
# These values, if specified here, override the defaults
#DISTRO="Linux From Scratch" # The distro name
#DISTRO_CONTACT="lfs-dev@linuxfromscratch.org" # Bug report address
#DISTRO_MINI="LFS" # Short name used in filenames for distro config

# Define custom colors used in messages printed to the screen

# Please consult `man console_codes` for more information
# under the "ECMA-48 Set Graphics Rendition" section
#
# Warning: when switching from a 8bit to a 9bit font,
# the linux console will reinterpret the bold (1;) to
# the top 256 glyphs of the 9bit font.  This does
# not affect framebuffer consoles

# These values, if specified here, override the defaults
#BRACKET="\\033[1;34m" # Blue
#FAILURE="\\033[1;31m" # Red
#INFO="\\033[1;36m"    # Cyan
#NORMAL="\\033[0;39m"  # Grey
#SUCCESS="\\033[1;32m" # Green
#WARNING="\\033[1;33m" # Yellow

# Use a colored prefix
# These values, if specified here, override the defaults
#BMPREFIX="     "
#SUCCESS_PREFIX="${SUCCESS}  *  ${NORMAL}"
#FAILURE_PREFIX="${FAILURE}*****${NORMAL}"
#WARNING_PREFIX="${WARNING} *** ${NORMAL}"

# Interactive startup
#IPROMPT="yes" # Whether to display the interactive boot prompt
#itime="3"    # The amount of time (in seconds) to display the prompt

# The total length of the distro welcome string, without escape codes
#wlen=$(echo "Welcome to ${DISTRO}" | wc -c )
#welcome_message="Welcome to ${INFO}${DISTRO}${NORMAL}"

# The total length of the interactive string, without escape codes
#ilen=$(echo "Press 'I' to enter interactive startup" | wc -c )
#i_message="Press '${FAILURE}I${NORMAL}' to enter interactive startup"

# Set scripts to skip the file system check on reboot
#FASTBOOT=yes

# Skip reading from the console
#HEADLESS=yes

# Write out fsck progress if yes
#VERBOSE_FSCK=no

# Speed up boot without waiting for settle in udev
#OMIT_UDEV_SETTLE=y

# Speed up boot without waiting for settle in udev_retry
#OMIT_UDEV_RETRY_SETTLE=yes

# Skip cleaning /tmp if yes
#SKIPTMPCLEAN=no

# For setclock
#UTC=1
#CLOCKPARAMS=

# For consolelog
#LOGLEVEL=5

# For network
#HOSTNAME=mylfs

# Delay between TERM and KILL signals at shutdown
#KILLDELAY=3

# Optional sysklogd parameters
#SYSKLOGD_PARMS="-m 0"

# Console parameters
#UNICODE=1
#KEYMAP="de-latin1"
#KEYMAP_CORRECTIONS="euro2"
#FONT="lat0-16 -m 8859-15"
#LEGACY_CHARSET=

7.12.1. Personalización de los scripts de arranque y apagado

Los scripts de arranque de LFS inician y detienen el sistema de una manera bastante eficiente, pero hay algunos ajustes que usted puede hacer en el archivo rc.site para mejorar la velocidad aún más y para ajustar los mensajes de acuerdo a tus preferencias. Para ello, ajustar la configuración en el archivo/etc/sysconfig/rc.site

  • Durante el script de arranque udev, se produce una llamada a udev settle el cual requiere un poco de Espacio requerido en disco para completarse. Este Espacio requerido en disco puede o puede no ser necesario dependiendo de los dispositivos presentes en el sistema. Si sólo dispone de particiones simples y una sola tarjeta ethernet, el proceso de arranque probablemente no tenga que esperar a que este comando. Para evitarlo, establezca la variable OMIT_UDEV_SETTLE = y.

  • El script de arranque udev_retry también ejecuta udev settle por defecto. Este comando sólo es necesaria por defecto si se monta por separado el directorio /var Esto es debido a que el reloj necesita el archivo /var/lib/hwclock/adjtime. Otras personalizaciones puede que también tengan que esperar que udev se complete, pero en muchas instalaciones esto no es necesario. Saltemos entonces el comando estableciendo la variable OMIT_UDEV_RETRY_SETTLE = y.

  • De forma predeterminada, los controles del sistema de archivos están en silencio. Esto puede parecer un retraso durante el proceso de arranque. Para activar la salida de fsck establezca la variable VERBOSE_FSCK = y.

  • Al reiniciar, es posible que desee omitir la comprobación del sistema de archivos fsck, completamente. Para ello, cree el archivo /fastboot o reinicie el sistema con el comando /sbin/shutdown -f -r now. Por otro lado, puede forzar la comprobación detodos los sistemas de archivos mediante la creación de /forcefsck o correr shutdown con el parámetro -F en lugar de -f.

    Configurar la variable de FASTBOOT = y desactivará fsck durante el proceso de arranque hasta que se elimine. Esto no se recomienda en una base permanente.

  • Normalmente, todos los archivos en el directorio /tmp se eliminan en el arranque. Dependiendo del número de archivos o directorios presentes, esto puede causar un retraso notable en el proceso de arranque. Para omitir la eliminación de estos archivos se establece la variable SKIPTMPCLEAN = y.

  • Durante el cierre, el programa initenvía una señal TERM para cada programa que se ha iniciado (por ejemplo agetty), espera un Espacio requerido en disco determinado (por defecto 3 segundos), y envía a cada proceso una señal de matar y espera de nuevo. Este proceso se repite en el script sendsignals para cualquier proceso que no se cierra por sus propio script. El retraso de init puede fijarse al pasar un parámetro. Por ejemplo, para eliminar el retraso en init,pasa el parámetro-t0 al apagar o reiniciar (por ejemplo /sbin/shutdown -t0 -r now). El retraso de la secuencia de comandos de sendsignals se puede omitir al establecer el parámetro KILLDELAY = 0.